﻿using System;
using System.Collections.Generic;
using System.Text;
using YSC_Core.BLL.Domain.CommonModels;
using YSC_Core.BLL.Domain.ViewModels;

namespace YSC_Services.BLL.Services.Interfaces
{
    /// <summary>
    /// 鱼价接口
    /// </summary>
    public interface IMarketPriceAppServices
    {
        /// <summary>
        /// 市场鱼价列表
        /// </summary>
        /// <param name="index">页码</param>
        /// <param name="size">数量</param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <param name="areaName">地区名称</param>
        /// <param name="fishType">鱼种类别</param>
        /// <param name="fishName">鱼种名称</param>
        /// <param name="datetime">时间</param>
        /// <param name="areaId">区县Id</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPriceAll(int index, int size, int priceType, string datetime, string areaName, string fishType, string fishName, string areaId);

        /// <summary>
        /// 塘口鱼价列表
        /// </summary>
        /// <param name="index">页码</param>
        /// <param name="size">数量</param>
        /// <param name="areaName">地区名称</param>
        /// <param name="fishType">鱼种类别</param>
        /// <param name="fishName">鱼种名称</param>
        /// <param name="datetime">时间</param>
        /// <param name="areaId">区县Id</param>
        /// <returns></returns>
        ReturnValueModel GetPlaceOfOriginPriceAll(int index, int size, string datetime, string areaName, string fishType, string fishName, string areaId);

        /// <summary>
        /// 市场鱼价详情
        /// </summary>
        /// <param name="marketPriceId">鱼价Id</param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPrice(string marketPriceId, int priceType);

        /// <summary>
        /// 塘口鱼价详情
        /// </summary>
        /// <param name="marketPriceId"></param>
        /// <returns></returns>
        ReturnValueModel GetPlaceOfOriginPrice(string marketPriceId);

        /// <summary>
        /// 市场鱼价详情_规格对比报表
        /// </summary>
        /// <param name="marketPriceId">鱼价Id</param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPriceComparedReport(string marketPriceId, int priceType);

        /// <summary>
        /// 塘口鱼价详情_规格对比报表
        /// </summary>
        /// <param name="marketPriceId"></param>
        /// <returns></returns>
        ReturnValueModel GetPlaceOfOriginPriceComparedReport(string marketPriceId);

        /// <summary>
        /// 市场鱼价详情_规格走势报表
        /// </summary>
        /// <param name="marketPriceId">鱼价Id</param>
        /// <param name="type">报表类型:0一周，1三月2一年</param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPriceTrendReport(string marketPriceId, int type, int priceType);

        /// <summary>
        /// 塘口鱼价详情_规格走势报表
        /// </summary>
        /// <param name="marketPriceId"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        ReturnValueModel GetPlaceOfOriginPriceTrendReport(string marketPriceId, int type);

        /// <summary>
        /// 市场鱼价详情_消费指导
        /// </summary>
        /// <param name="marketPriceId"></param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPriceXFZD(string marketPriceId, int priceType);

        /// <summary>
        /// 市场鱼价详情_介绍
        /// </summary>
        /// <param name="marketPriceId"></param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPriceIntroduction(string marketPriceId, int priceType);

        /// <summary>
        /// 用户历史报价
        /// </summary>
        /// <param name="index">页码</param>
        /// <param name="size">数量</param>
        /// <param name="userId"></param>
        /// <param name="MarketId">市场Id</param>
        /// <param name="dateTime">添加时间</param>
        /// <returns></returns>
        ReturnValueModel GetMarketPriceHistoryAll(int index, int size, string userId, string MarketId, string dateTime);

        /// <summary>
        /// 市场鱼价新增
        /// </summary>
        /// <param name="modelAll"></param>
        /// <param name="priceType">报价类型0:市场价 1：产地价</param>
        /// <returns></returns>
        ReturnValueModel AddMarketPrice(List<MarketPriceModel> modelAll,string userId);

        /// <summary>
        /// 市场鱼价新增(非认证)
        /// </summary>
        /// <param name="modelAll"></param>
        /// <param name="userId"></param>
        /// <returns>PricType:0 市场 1： 产地</returns>
        ReturnValueModel AddMarketPriceNOAttest(List<MarketPriceModel> modelAll, string userId);
    }
}
